Skip to main content

How To Read Technical Books Effectively

"Effective" Meaning

  • The word "effective" depends on the type of the book.
    • If the book is a reference book, "effective" means after reading the book, I know where to look for answers
      • Reference book as a set of tools that add up to my toolkit, and use whenever I need
      • E.g: Design Patterns, Refactoring, etc
    • If it is not a reference books, "effective" means after reading the book, I learned the knowledge shared in the book
      • Non-reference book as techniques that I actually learn. I do not have to spend extra effor to use them, I learned them and have them will me all the time
      • E.g: The Pragmatic Progammer, Clean Code, etc

Crucial

  • Understand the terminology
  • Know when to stop
  • Review your notes

Strategy

0. Read the Preface/Foreword

  • What is this book about
  • Who should read it
  • What each chapter explains
  • (Sometimes) How to read?

1. Scanning

  • Scan the chapters I am going to read
    • Go over the titles
    • Glance over the images
    • Observe how long the chapter is and decide if need to split into smaller chunks

2. Skimming

  • Pay more attention to the subtitles, captioning of the images
  • Read the first and last sentences of each paragraph
  • Read the code snippets
  • Try to get the main idea of each part and do not spend time on details
  • Take mental notes (MENTAL not physical)
  • Do not linger

3. Complete Reading

  • Read the chapter completely
  • Pay attention to the parts I took mental note
  • Close the book and take notes in own word
    • Describe what I've read
    • Summarize
    • If can not find a word to describe it or questioning what I am writing down => Good indicator of not understanding the concept enough
    • Write down question during reading, if it is not answered as I read, start researching